Name services have been in use on computer networks for many years. In general, the main function of a name service is to map a name, such as a file name, or network domain name, to some arbitrary data record, such as a file or a network address. A name service can, for example, receive a “look-up request” that includes a name, such as a textual name of a web site, from a requesting client and return information associated with the name, such as the IP address of the web site, to the requesting party. One of the most popular name services in use today is the Domain Naming Service (DNS).
One function of a name service is to define a namespace for computers on a network that is independent of the physical addresses used by the network. For example, if the website www.foo.com changes its IP address from 100.0.0.1 to 100.0.0.2, the website simply registers the change with the nearest DNS server. The DNS server responds by de-associating www.foo.com from the IP address 100.0.0.1 and creates a new association between www.foo.com and 100.0.0.2. Thus, the rest of the world remains unaware that there was ever any change, and continues to type www.foo.com in their web browsers and achieve the desired result of reaching the website.
A data storage device, such as a magnetic disk drive, can be coupled to or integrated with an individual computer on a network and, therefore, can effectively have its own IP address and participate in a name service such as DNS. However, data storage technology has become increasingly sophisticated. With the proliferation of storage networks, such as so-called Storage Area Networks (SAN), multiple computer systems can now be connected to networks of multiple data storage devices. Although efforts have been made to create a DNS-like naming system for Internet storage systems [see, for example, the Internet Storage Name Service (iSNS), which is documented in various Internet Engineering Task Force (IETF) drafts], there is currently no effective way for a data storage device to divide its computer-readable media (its magnetic disks, for example) into logical volumes and to have each of those volumes be recognized as a separately addressable entity in a name service. Also, there is currently no effective way to build a SAN name space that makes the physical location of a storage device transparent to computer systems that need to access the storage device.